A common problem in electronic business applications is transforming data from one Extensible Markup Language (“XML”) schema into another. For example, data may come into a company in some industry-standard schema that needs to be transformed into a company-specific and/or need-specific schema. Typically, this is done with an eXtensible Stylesheet Language: Transformations (“XSLT”) style sheet. However, for complex schemas and mappings, defining an XSLT style sheet is very difficult.
One technique for resolving this problem is by visually building a graphical representation of the mappings from a source schema to a destination schema. For example, FIG. 1 shows a pictorial diagram 100 of a graphical representation of mappings between a source schema 101 and destination schema 103. The source schema 101 is on the left, the destination schema 103 is on the right, and the mapping 105 is represented between them. Mappings between schemas may be graphically represented by a network of functoids (functional operations) connected by links to schema elements and other functoids. A functoid, as used herein, is a graphical representation any functional operation that may be used in transforming a source schema into a destination schema. Once a mapping between two schemas 101, 103 is graphically defined, an XSLT style sheet may be compiled for use.
While the existing graphical representation techniques, such as that depicted in FIG. 1, work for representing the mappings between simple schemas, they do not scale well to larger schemas. For example, FIG. 2 is a pictorial diagram 200 of a graphical representation of a mapping between a source schema 201 and a destination schema 203, using an existing visualization technique. The details of interest, e.g., the mapping 205 between the source schema 201 and the destination schema 203, become lost in a maze of complexity. Current techniques allow a user to select a schema element, link, or functoid, but only the selected item is highlighted. For example, if a user selects source schema element “ns2:id” 201A, that source element is highlighted but the links expanding from that element, any functoids, and the destination schema element(s) are not highlighted. This means that to find a relationship between a source schema element and a destination schema element, a user must make several selections and potentially scroll both schemas and the map in order to establish a reasonable view. For large mappings, such as that depicted in FIG. 2, this becomes very difficult and the potential of selecting the wrong link, or not following all links, increases.
Accordingly, there is a need for a system and method that allows users to effectively visualize and map schemas regardless of the scale or size of the schemas or the mappings and to allow a user to visually determine the mappings between a source schema and a destination schema.